Property-Based Testing and Verification: A Catalog of Classroom Examples

نویسنده

  • Rex L. Page
چکیده

For the past a decade, John Hughes of Chalmers University and Quviq has pioneered property-based testing in debugging industrial software. Three undergraduate courses at the University of Oklahoma have paralleled this work, but on the pedagogical side and with the additional goal of verification of properties by mathematical proof, using both paper-and-pencil methods and mechanized logic. An essential part of both efforts, and probably the most important part, is the formalization in predicate logic of the expectations of software developers. This is central to engineering software quality in the defect dimension. This report discusses property-based testing in course work and provides some examples from the classroom. Hughes has observed that software properties useful for testing functional software often (1) compare the results of different ways of computing the same thing or (2) check that forward and inverse transformations restore the original data. What percentage of useful software properties fall into these categories? Our collection of examples from course records may help shed some light on how closely pedagogy on property-based testing matches observations of relative frequencies of various categories of properties in industry and may also serve as an educational aid in learning to use property-based testing effectively in software development. 1 Property-Based Testing in the Classroom Students in the computer science program at the University of Oklahoma are required to take three courses in which expected software behaviors are expressed as formulas in predicate logic. In one of the courses (applied logic), the focus is on paper-and-pencil proofs that the properties hold. In the others (a twocourse sequence in software engineering), the focus is on software development, including testing and verification. For the past three years, all three courses have included project experience with automated testing on random data generated by the DoubleCheck tool in the Dracula programming environment [1], a facility similar to QuickCheck [2], but for software expressed in ACL2 [3], which includes a programming language based on Common Lisp. Used in its native form, the ACL2 mechanized logic requires properties to be expressed as theorems, and programmers can sometimes succeed in getting ? Partially supported by National Science Foundation Award Number 1016532.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Advances in Lazy SmallCheck

A property-based testing library enables users to perform lightweight verification of software. This paper presents improvements to the Lazy SmallCheck property-based testing library. Users can now test properties that quantify over first-order functional values and nest universal and existential quantifiers in properties. When a property fails, Lazy SmallCheck now accurately expresses the part...

متن کامل

Fuzzy decision making in testing hypotheses: An introduction to the packages ``FPV" and ``Fuzzy.p.value" with practical examples

This paper reviews and compares two R packages ``FPV" and ``Fuzzy.p.value".These packages are designed for testing hypotheses in a fuzzy environment using a fuzzy $p$-value based approach.In fact, the packages ``FPV" and ``Fuzzy.p.value" propose some useful functions for testing hypotheses when the data / hypotheses are fuzzy rather than crisp.The proposed methods and function...

متن کامل

Foundational Property-Based Testing

Integrating property-based testing with a proof assistant creates an interesting opportunity: reusable or tricky testing code can be formally verified using the proof assistant itself. In this work we introduce a novel methodology for formally verified property-based testing and implement it as a foundational verification framework for QuickChick, a port of QuickCheck to Coq. Our framework enab...

متن کامل

JALDA's Interview with Professor Glenn Fulcher

Glenn Fulcher is the Professor of Applied Linguistics and Language Assessment in the English Department at the University of Leicester, UK. He got his PhD in Applied Linguistics and Language Testing from Lancaster University (1993) and his MA in Applied Linguistics from the University of Birmingham (1987). Professor Fulcher has been the editor of Sage's Language Testing (2006-2015) and an influ...

متن کامل

Microsatillate based Parentage Verification in Crossbred Sheep Herds

Parentage testing is an important tool in farm animals for genetically determining the accuracy of pedigree information. The objective of the current study was to implication of multiplexing 14 microsatellite markers for routine parentage testings. The twenty-four lambs were crossbred of Ghazel × Baluchi, Ghazel × Baluchi × Merinos, and Baluchi × Moghani × Merinos breeds. The genomic DNA was ex...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011